#pragma once

#include "../umlmodel_global.h"

#include "Node.h"

namespace uml {

/// <summary>
/// Device
/// A device is a physical computational resource with processing capability upon
/// which artifacts may be deployed for execution. Devices may be complex (i.e.,
/// they may consist of other devices).
/// </summary>
class UMLMODEL_EXPORT Device : public Node {

public: // Constructors and destructors
    explicit Device(const QString& umlType="uml::Device");

public: // JsonSerializable override
    void fromJson(const QJsonObject& json, QStringList& errorList) override;
    void toJson(QJsonObject& json) override;

};

} // namespace uml
